#region License

// Copyright (c) 2013, ClearCanvas Inc.
// All rights reserved.
// http://www.clearcanvas.ca
//
// This file is part of the ClearCanvas RIS/PACS open source project.
//
// The ClearCanvas RIS/PACS open source project is free software: you can
// redistribute it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// The ClearCanvas RIS/PACS open source project is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along with
// the ClearCanvas RIS/PACS open source project.  If not, see
// <http://www.gnu.org/licenses/>.

#endregion

// This file is auto-generated by the ClearCanvas.Model.SqlServer.CodeGenerator project.

namespace ClearCanvas.ImageServer.Model
{
    using System;
    using System.Collections.Generic;
    using ClearCanvas.ImageServer.Model.EntityBrokers;
    using ClearCanvas.ImageServer.Enterprise;
    using System.Reflection;

[Serializable]
public partial class QueueStudyStateEnum : ServerEnum
{
      #region Private Static Members
      private static readonly QueueStudyStateEnum _Idle = GetEnum("Idle");
      private static readonly QueueStudyStateEnum _DeleteScheduled = GetEnum("DeleteScheduled");
      private static readonly QueueStudyStateEnum _WebDeleteScheduled = GetEnum("WebDeleteScheduled");
      private static readonly QueueStudyStateEnum _EditScheduled = GetEnum("EditScheduled");
      private static readonly QueueStudyStateEnum _ProcessingScheduled = GetEnum("ProcessingScheduled");
      private static readonly QueueStudyStateEnum _PurgeScheduled = GetEnum("PurgeScheduled");
      private static readonly QueueStudyStateEnum _ReconcileScheduled = GetEnum("ReconcileScheduled");
      private static readonly QueueStudyStateEnum _ReconcileRequired = GetEnum("ReconcileRequired");
      private static readonly QueueStudyStateEnum _CleanupScheduled = GetEnum("CleanupScheduled");
      private static readonly QueueStudyStateEnum _CompressScheduled = GetEnum("CompressScheduled");
      private static readonly QueueStudyStateEnum _MigrationScheduled = GetEnum("MigrationScheduled");
      private static readonly QueueStudyStateEnum _ReprocessScheduled = GetEnum("ReprocessScheduled");
      private static readonly QueueStudyStateEnum _RestoreScheduled = GetEnum("RestoreScheduled");
      private static readonly QueueStudyStateEnum _ArchiveScheduled = GetEnum("ArchiveScheduled");
      #endregion

      #region Public Static Properties
      /// <summary>
      /// The study currently does not have any queue entries.
      /// </summary>
      public static QueueStudyStateEnum Idle
      {
          get { return _Idle; }
      }
      /// <summary>
      /// The study is scheduled for deletion
      /// </summary>
      public static QueueStudyStateEnum DeleteScheduled
      {
          get { return _DeleteScheduled; }
      }
      /// <summary>
      /// The study or a series is scheduled for deletion.
      /// </summary>
      public static QueueStudyStateEnum WebDeleteScheduled
      {
          get { return _WebDeleteScheduled; }
      }
      /// <summary>
      /// The study is scheduled for editing
      /// </summary>
      public static QueueStudyStateEnum EditScheduled
      {
          get { return _EditScheduled; }
      }
      /// <summary>
      /// The study is being processed
      /// </summary>
      public static QueueStudyStateEnum ProcessingScheduled
      {
          get { return _ProcessingScheduled; }
      }
      /// <summary>
      /// The study has been scheduled for purging
      /// </summary>
      public static QueueStudyStateEnum PurgeScheduled
      {
          get { return _PurgeScheduled; }
      }
      /// <summary>
      /// The study has been scheduled for reconciliation
      /// </summary>
      public static QueueStudyStateEnum ReconcileScheduled
      {
          get { return _ReconcileScheduled; }
      }
      /// <summary>
      /// The study needs to be reconciled
      /// </summary>
      public static QueueStudyStateEnum ReconcileRequired
      {
          get { return _ReconcileRequired; }
      }
      /// <summary>
      /// A WorkQueue entry for the study needs to be cleaned up
      /// </summary>
      public static QueueStudyStateEnum CleanupScheduled
      {
          get { return _CleanupScheduled; }
      }
      /// <summary>
      /// The study is scheduled for compression
      /// </summary>
      public static QueueStudyStateEnum CompressScheduled
      {
          get { return _CompressScheduled; }
      }
      /// <summary>
      /// The study is scheduled for migration to a new tier of storage
      /// </summary>
      public static QueueStudyStateEnum MigrationScheduled
      {
          get { return _MigrationScheduled; }
      }
      /// <summary>
      /// The study is scheduled for reprocessing
      /// </summary>
      public static QueueStudyStateEnum ReprocessScheduled
      {
          get { return _ReprocessScheduled; }
      }
      /// <summary>
      /// The study is scheduled for restore
      /// </summary>
      public static QueueStudyStateEnum RestoreScheduled
      {
          get { return _RestoreScheduled; }
      }
      /// <summary>
      /// The study is scheduled for archiving
      /// </summary>
      public static QueueStudyStateEnum ArchiveScheduled
      {
          get { return _ArchiveScheduled; }
      }

      #endregion

      #region Constructors
      public QueueStudyStateEnum():base("QueueStudyStateEnum")
      {}
      #endregion
      #region Public Members
      public override void SetEnum(short val)
      {
          ServerEnumHelper<QueueStudyStateEnum, IQueueStudyStateEnumBroker>.SetEnum(this, val);
      }
      static public List<QueueStudyStateEnum> GetAll()
      {
          return ServerEnumHelper<QueueStudyStateEnum, IQueueStudyStateEnumBroker>.GetAll();
      }
      static public QueueStudyStateEnum GetEnum(string lookup)
      {
          return ServerEnumHelper<QueueStudyStateEnum, IQueueStudyStateEnumBroker>.GetEnum(lookup);
      }
      #endregion
}
}
